12. 클라우드 구조를 알아보자

51. 클라우드의 기본 구조

클라우드란 인터넷을 통해 제공되는 데이터, 애플리케이션, 서비스 등의 인프라 전반을 의미한다. 네트워크로 연결된 기기들이 클라우드를 구성하며, 이러한 물리적 장비가 모여있는 시설을 데이터 센터라고 부른다.

클라우드라는 이름은 네트워크 다이어그램에서 인터넷을 경계가 모호하고 실체가 정해지지 않은 구름 모양으로 표현한 것에서 유래했다.

클라우드는 다음과 같은 핵심 기술과 이용 형태에 따라 구성된다:


52. 서버 가상화

서버 가상화는 클라우드의 핵심 기술로, 물리적 하드웨어에 의존하지 않고 논리적으로 서버를 구성하는 방식이다. 이 기술을 통해 서버 한 대에서 여러 개의 CPU, 메모리, 운영체제(OS)를 독립적으로 운영할 수 있다.

**가상 머신(VM)**은 한 컴퓨터에서 여러 OS를 운용하는 기술이며, 이를 서버에 적용하면 한 대의 물리 서버에서 여러 가상 서버를 생성할 수 있다. 각 가상 서버는 독립적이므로 이메일, 웹, 데이터베이스 등 용도에 맞는 전용 서버 구성이 가능하다.

데이터 센터의 호스팅(임대) 서비스를 이용하면, 사용자는 직접 서버를 구매하고 관리하는 비용을 크게 절감할 수 있다.

가상화의 종류

호스트 OS형:

하이퍼바이저형:


53. 분산 기술

인터넷은 태생적으로 분산형 네트워크로 설계되었다. DNS와 대부분의 클라우드 서비스 역시 분산형 구조를 따른다.

관리 유형 특징 장점 단점
중앙 집중형 하나의 관리 호스트가 전체를 제어 관리가 간편함 관리 호스트 장애 시 전체 네트워크 중단
분산형 중앙 관리 주체 없이 각 노드가 자율적으로 통신 장애 허용성, 확장성, 유연성 높음 제어 복잡, 트래픽 혼잡 가능성

인터넷의 분산 기술 사례

DNS (Domain Name System)

대규모 클라우드 서비스


54. 클라우드 서비스 모델: IaaS, PaaS, SaaS

클라우드 서비스는 이용(제공) 형태에 따라 크게 세 가지 모델로 분류할 수 있다.

IaaS (Infrastructure as a Service)

PaaS (Platform as a Service)

SaaS (Software as a Service)

DaaS (Desktop as a Service)

💡 ASP (Application Service Provider): SaaS와 유사한 개념이지만, ASP는 서비스를 제공하는 '사업자'나 '비즈니스 모델'을 지칭하는 경향이 강하고, SaaS는 서비스의 '형태'나 '기술' 자체를 의미한다.


55. 클라우드 컴퓨팅 vs 온프레미스

구분 클라우드 컴퓨팅 (Cloud Computing) 온프레미스 (On-Premises)
소유 서비스 제공업체가 소유한 인프라를 임대 기업이 직접 하드웨어를 소유
초기 비용 낮음 (구독료) 높음 (서버, 라이선스 구매 등 설비 투자)
운영 비용 사용한 만큼 지불 (운영 비용에 포함) 상주 인력, 전기세, 유지보수 등 관리 비용
확장성 매우 높음 (필요 시 즉시 확장/축소 가능) 낮음 (물리적 하드웨어 추가/교체 필요)
보안 제공업체의 전문 보안팀이 관리 (책임 공유 모델) 기업이 직접 모든 보안 대책을 수립하고 실행
접근성 인터넷만 있으면 어디서든 접근 가능 주로 내부 네트워크에서만 접근 (보안 정책에 따라 다름)

56. 엣지 컴퓨팅

IoT 기기, 자율주행차 등이 보급되면서 모든 데이터를 중앙 클라우드로 보내 처리하는 방식의 한계(서버 부하, 응답 시간 지연)가 드러나고 있다.

엣지 컴퓨팅은 이러한 문제를 해결하기 위해 탄생한 기술로, 데이터가 생성되는 단말기나 그와 가까운 위치(네트워크의 '엣지')에 서버를 분산 배치하여 데이터를 처리하는 방식이다.

중앙 클라우드 모델의 문제점

엣지 컴퓨팅의 해결책

목표: 중앙 서버로 데이터를 보내기 전, 엣지 서버에서 1차적인 전처리를 수행하여 부하와 응답 시간을 줄인다.

적용: 실시간성이 중요한 자율주행, 스마트 팩토리, 모바일 센서 네트워크 등에서 기지국이나 게이트웨이에 엣지 서버를 배치하여 활용한다.


57. 컨테이너

컨테이너는 애플리케이션과 그 실행에 필요한 모든 환경(라이브러리, 바이너리, 설정 파일 등)을 가상으로 패키징하는 기술이다.

가상 머신(VM)이 하드웨어와 OS까지 통째로 가상화하는 반면, 컨테이너는 호스트 OS의 커널을 공유하며 애플리케이션의 실행 환경만 독립적으로 격리한다.

구분 가상 머신 (VM) 컨테이너 (Container)
가상화 수준 하드웨어 + OS 애플리케이션 환경
OS 각 VM마다 게스트 OS 필요 호스트 OS 커널 공유 (게스트 OS 불필요)
용량 및 속도 크고 무거움, 부팅 오래 걸림 작고 가벼움, 수초 내 실행
자원 효율성 낮음 높음
대표 기술 VMware, VirtualBox Docker, Podman

컨테이너 오케스트레이션: 다수의 컨테이너를 효율적으로 배포, 관리, 확장하기 위한 도구. **쿠버네티스(Kubernetes)**가 사실상의 표준이다.


58. 마이크로서비스 아키텍처 (MSA)

마이크로서비스는 하나의 큰 애플리케이션을 여러 개의 작은 기능 단위(서비스)로 잘게 쪼개어, 각 서비스가 독립적으로 개발되고 배포되도록 구축하는 아키텍처 스타일이다.

모놀리식 아키텍처

마이크로서비스 아키텍처

특징

배경: 과거에는 네트워크 및 하드웨어 성능의 한계로 구현이 어려웠으나, 클라우드, 컨테이너 기술의 발전으로 보편화되었다.

관계: MSA는 컨테이너 기술과 궁합이 잘 맞으며, 이는 웹 서비스의 개발과 운영을 통합하는 데브옵스(DevOps) 문화의 핵심 요소가 된다.


59-61. 주요 클라우드 서비스의 핵심 기능

AWS, Azure, GCP 등 주요 클라우드 제공업체들은 이름은 다르지만 유사한 핵심 기능들을 제공한다.

기능 분류 약어 설명
가상 네트워크 VPC (Virtual Private Cloud) 클라우드 내에 논리적으로 격리된 프라이빗 네트워크 공간을 생성하는 서비스
계정 및 권한 관리 IAM (Identity and Access Management) 사용자와 그룹을 생성하고, 각 리소스에 대한 접근 권한을 세밀하게 제어하는 서비스
관계형 데이터베이스 RDS (Relational Database Service) MySQL, PostgreSQL 등 관계형 데이터베이스를 쉽게 설정, 운영, 확장할 수 있도록 관리해주는 서비스
콘텐츠 전송 네트워크 CDN (Content Delivery Network) 전 세계 곳곳에 분산된 캐시 서버에 콘텐츠를 복제해두고, 사용자와 가장 가까운 서버에서 콘텐츠를 전송하여 로딩 속도를 향상시키는 서비스
부하 분산 LB (Load Balancer) 들어오는 트래픽을 여러 대의 서버에 자동으로 분산시켜 시스템의 부하를 줄이고 가용성을 높이는 서비스
도메인 이름 시스템 DNS (Domain Name System) 도메인 이름(예: google.com)을 IP 주소로 변환해주는 서비스
가상 사설망 VPN (Virtual Private Network) 인터넷과 같은 공용망을 통해 외부에서도 내부 네트워크에 안전하게 접속할 수 있도록 만들어주는 가상 사설 터널링 서비스

62. 프라이빗 vs 퍼블릭 클라우드

구분 프라이빗 클라우드 (Private Cloud) 퍼블릭 클라우드 (Public Cloud)
인프라 단일 조직 전용 (자체 데이터센터 또는 임대) 다수의 고객이 공유 (서비스 제공업체 소유)
접근성 제한적 (주로 전용회선, VPN으로 접속) 개방적 (인터넷을 통해 누구나 접근 가능)
보안 높은 통제력, 기업이 직접 관리 제공업체의 높은 보안 수준 (책임 공유)
비용 높은 초기 투자 및 유지보수 비용 낮은 초기 비용, 사용한 만큼 지불
유연성 낮음 높음
예시 기업이 자체 구축한 내부 클라우드 시스템 AWS, Google Cloud, MS Azure, 네이버 클라우드

63. 데이터 플랫폼: CDP와 DDP

클라우드 플랫폼 중 데이터의 관리 및 활용에 특화된 것으로 CDP와 DDP가 있다.

CDP (Customer Data Platform)

DDP (Device Data Platform)

이러한 데이터 플랫폼은 정보 은행, 개인화 마케팅, 디지털 전환(DX) 등에서 중요성이 커지고 있으며, 사업자에게는 매우 엄격한 데이터 보안 및 관리가 요구된다.


클라우드 시대의 네트워크 변화

경계의 모호함

업무 시스템이 클라우드에 존재하면서, 과거 명확했던 내부망(LAN)과 외부망(인터넷)의 경계가 모호해졌다.

보안 패러다임의 변화

모든 것을 신뢰하지 않는다는 전제에서 시작하는 제로 트러스트(Zero Trust) 보안 모델이 필수가 되었다. 모든 단말기와 트래픽을 검사하고 로그를 기록해야 한다.

개발과 운영의 신속화

클라우드와 컨테이너 기술은 개발(Development)과 운영(Operations)을 통합하여 서비스 출시 속도를 높이는 데브옵스(DevOps) 문화를 보편화시켰다.